package com.eachonline.smart.model.base;

import com.eachonline.model.BaseCriteria;
import com.eachonline.model.BaseModelExample;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BaseCourseAttachFileExample extends BaseModelExample {
    protected List<Criteria> oredCriteria;

    public BaseCourseAttachFileExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        super.clear();
        oredCriteria.clear();
    }

    protected abstract static class GeneratedCriteria extends BaseCriteria {

        public Criteria andSidIsNull() {
            addCriterion("sid is null");
            return (Criteria) this;
        }

        public Criteria andSidIsNotNull() {
            addCriterion("sid is not null");
            return (Criteria) this;
        }

        public Criteria andSidEqualTo(String value) {
            addCriterion("sid =", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotEqualTo(String value) {
            addCriterion("sid <>", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThan(String value) {
            addCriterion("sid >", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThanOrEqualTo(String value) {
            addCriterion("sid >=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThan(String value) {
            addCriterion("sid <", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThanOrEqualTo(String value) {
            addCriterion("sid <=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLike(String value) {
            addCriterion("sid like", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotLike(String value) {
            addCriterion("sid not like", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidIn(List<String> values) {
            addCriterion("sid in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotIn(List<String> values) {
            addCriterion("sid not in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidBetween(String value1, String value2) {
            addCriterion("sid between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotBetween(String value1, String value2) {
            addCriterion("sid not between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andCourseIdIsNull() {
            addCriterion("course_id is null");
            return (Criteria) this;
        }

        public Criteria andCourseIdIsNotNull() {
            addCriterion("course_id is not null");
            return (Criteria) this;
        }

        public Criteria andCourseIdEqualTo(String value) {
            addCriterion("course_id =", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotEqualTo(String value) {
            addCriterion("course_id <>", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdGreaterThan(String value) {
            addCriterion("course_id >", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdGreaterThanOrEqualTo(String value) {
            addCriterion("course_id >=", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLessThan(String value) {
            addCriterion("course_id <", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLessThanOrEqualTo(String value) {
            addCriterion("course_id <=", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdLike(String value) {
            addCriterion("course_id like", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotLike(String value) {
            addCriterion("course_id not like", value, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdIn(List<String> values) {
            addCriterion("course_id in", values, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotIn(List<String> values) {
            addCriterion("course_id not in", values, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdBetween(String value1, String value2) {
            addCriterion("course_id between", value1, value2, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseIdNotBetween(String value1, String value2) {
            addCriterion("course_id not between", value1, value2, "courseId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdIsNull() {
            addCriterion("course_time_id is null");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdIsNotNull() {
            addCriterion("course_time_id is not null");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdEqualTo(String value) {
            addCriterion("course_time_id =", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdNotEqualTo(String value) {
            addCriterion("course_time_id <>", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdGreaterThan(String value) {
            addCriterion("course_time_id >", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdGreaterThanOrEqualTo(String value) {
            addCriterion("course_time_id >=", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdLessThan(String value) {
            addCriterion("course_time_id <", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdLessThanOrEqualTo(String value) {
            addCriterion("course_time_id <=", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdLike(String value) {
            addCriterion("course_time_id like", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdNotLike(String value) {
            addCriterion("course_time_id not like", value, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdIn(List<String> values) {
            addCriterion("course_time_id in", values, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdNotIn(List<String> values) {
            addCriterion("course_time_id not in", values, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdBetween(String value1, String value2) {
            addCriterion("course_time_id between", value1, value2, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andCourseTimeIdNotBetween(String value1, String value2) {
            addCriterion("course_time_id not between", value1, value2, "courseTimeId");
            return (Criteria) this;
        }

        public Criteria andAttachFileIsNull() {
            addCriterion("attach_file is null");
            return (Criteria) this;
        }

        public Criteria andAttachFileIsNotNull() {
            addCriterion("attach_file is not null");
            return (Criteria) this;
        }

        public Criteria andAttachFileEqualTo(String value) {
            addCriterion("attach_file =", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileNotEqualTo(String value) {
            addCriterion("attach_file <>", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileGreaterThan(String value) {
            addCriterion("attach_file >", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileGreaterThanOrEqualTo(String value) {
            addCriterion("attach_file >=", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileLessThan(String value) {
            addCriterion("attach_file <", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileLessThanOrEqualTo(String value) {
            addCriterion("attach_file <=", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileLike(String value) {
            addCriterion("attach_file like", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileNotLike(String value) {
            addCriterion("attach_file not like", value, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileIn(List<String> values) {
            addCriterion("attach_file in", values, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileNotIn(List<String> values) {
            addCriterion("attach_file not in", values, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileBetween(String value1, String value2) {
            addCriterion("attach_file between", value1, value2, "attachFile");
            return (Criteria) this;
        }

        public Criteria andAttachFileNotBetween(String value1, String value2) {
            addCriterion("attach_file not between", value1, value2, "attachFile");
            return (Criteria) this;
        }

        public Criteria andCreateTmeIsNull() {
            addCriterion("create_tme is null");
            return (Criteria) this;
        }

        public Criteria andCreateTmeIsNotNull() {
            addCriterion("create_tme is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTmeEqualTo(Date value) {
            addCriterion("create_tme =", value, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeNotEqualTo(Date value) {
            addCriterion("create_tme <>", value, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeGreaterThan(Date value) {
            addCriterion("create_tme >", value, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_tme >=", value, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeLessThan(Date value) {
            addCriterion("create_tme <", value, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeLessThanOrEqualTo(Date value) {
            addCriterion("create_tme <=", value, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeIn(List<Date> values) {
            addCriterion("create_tme in", values, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeNotIn(List<Date> values) {
            addCriterion("create_tme not in", values, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeBetween(Date value1, Date value2) {
            addCriterion("create_tme between", value1, value2, "createTme");
            return (Criteria) this;
        }

        public Criteria andCreateTmeNotBetween(Date value1, Date value2) {
            addCriterion("create_tme not between", value1, value2, "createTme");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeIsNull() {
            addCriterion("is_corse_time is null");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeIsNotNull() {
            addCriterion("is_corse_time is not null");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeEqualTo(String value) {
            addCriterion("is_corse_time =", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeNotEqualTo(String value) {
            addCriterion("is_corse_time <>", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeGreaterThan(String value) {
            addCriterion("is_corse_time >", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeGreaterThanOrEqualTo(String value) {
            addCriterion("is_corse_time >=", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeLessThan(String value) {
            addCriterion("is_corse_time <", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeLessThanOrEqualTo(String value) {
            addCriterion("is_corse_time <=", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeLike(String value) {
            addCriterion("is_corse_time like", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeNotLike(String value) {
            addCriterion("is_corse_time not like", value, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeIn(List<String> values) {
            addCriterion("is_corse_time in", values, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeNotIn(List<String> values) {
            addCriterion("is_corse_time not in", values, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeBetween(String value1, String value2) {
            addCriterion("is_corse_time between", value1, value2, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andIsCorseTimeNotBetween(String value1, String value2) {
            addCriterion("is_corse_time not between", value1, value2, "isCorseTime");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIsNull() {
            addCriterion("download_num is null");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIsNotNull() {
            addCriterion("download_num is not null");
            return (Criteria) this;
        }

        public Criteria andDownloadNumEqualTo(Integer value) {
            addCriterion("download_num =", value, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumNotEqualTo(Integer value) {
            addCriterion("download_num <>", value, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumGreaterThan(Integer value) {
            addCriterion("download_num >", value, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("download_num >=", value, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumLessThan(Integer value) {
            addCriterion("download_num <", value, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumLessThanOrEqualTo(Integer value) {
            addCriterion("download_num <=", value, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumIn(List<Integer> values) {
            addCriterion("download_num in", values, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumNotIn(List<Integer> values) {
            addCriterion("download_num not in", values, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumBetween(Integer value1, Integer value2) {
            addCriterion("download_num between", value1, value2, "downloadNum");
            return (Criteria) this;
        }

        public Criteria andDownloadNumNotBetween(Integer value1, Integer value2) {
            addCriterion("download_num not between", value1, value2, "downloadNum");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }
}